package cn.iocoder.yudao.module.student.convert.student;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.student.api.student.dto.WebStudentRespDTO;
import cn.iocoder.yudao.module.student.controller.app.student.vo.WebStudentCreateReqVO;
import cn.iocoder.yudao.module.student.controller.app.student.vo.WebStudentExcelVO;
import cn.iocoder.yudao.module.student.controller.app.student.vo.WebStudentRespVO;
import cn.iocoder.yudao.module.student.controller.app.student.vo.WebStudentUpdateReqVO;
import cn.iocoder.yudao.module.student.dal.dataobject.student.WebStudentDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 学生管理 Convert
 *
 * @author 周枫皓
 */
@Mapper
public interface WebStudentConvert {

    WebStudentConvert INSTANCE = Mappers.getMapper(WebStudentConvert.class);

    WebStudentDO convert(WebStudentCreateReqVO bean);

    WebStudentDO convert(WebStudentUpdateReqVO bean);

    WebStudentRespVO convert(WebStudentDO bean);

    List<WebStudentRespVO> convertList(List<WebStudentDO> list);

    List<WebStudentRespDTO> convertList1(List<WebStudentDO> list);

    PageResult<WebStudentRespVO> convertPage(PageResult<WebStudentDO> page);

    PageResult<WebStudentRespDTO> convertPage1(PageResult<WebStudentDO> page);

    List<WebStudentExcelVO> convertList02(List<WebStudentDO> list);

}
